API Documentation
TabWindow.h
1 // TabWindow.h
3 //
5 
6 namespace nkWinUi
7 {
11  class TabWindow : public Component
12  {
13  public :
14 
18  class Tab
19  {
20  public :
21 
25  Tab () ;
29  virtual ~Tab () ;
30 
31  // Getters
43  int getId () const ;
48 
49  // Setters
56  virtual void setLabel (const nkMemory::StringView& label, bool autoUpdate = true) ;
62  void setAssociatedWin (Window* win) ;
68  void setId (int id) ;
74  void setParentWindow (TabWindow* parent) ;
75  } ;
76 
77  public :
78 
86  TabWindow (MainSystem* parentSystem) ;
91 
100  virtual Tab* addTab (const nkMemory::StringView& label) ;
105  Tab* getTabByLabel (const nkMemory::StringView& label) const ;
110  Tab* getTabById (int id) const ;
115  Tab* getTabByIndex (unsigned int index) const ;
120  virtual Tab* getTabByMouseRel (const nkMaths::Point& mouseRel) const = 0 ;
128  int getTabIndex (Tab* tab) const ;
132  unsigned int getTabCount () const ;
142  virtual void reorderTab (Tab* tab, unsigned int newIndex) ;
149  virtual void changeTabLabel (const nkMemory::StringView& oldLabel, const nkMemory::StringView& newLabel) ;
155  virtual void eraseTab (const nkMemory::StringView& label) ;
156 
161  virtual Layout* setLayout (LAYOUT_TYPE layoutType) override ;
162 
168  virtual void setActiveTab (Tab* toActivate) ;
172  Tab* getActiveTab () const ;
173 
179  virtual void adaptToDisplayArea (Window* toAdapt) const = 0 ;
180 
189  void setTabSwitchCallback (std::function<bool (TabWindow*, TabWindow::Tab*, bool)> value) ;
193  const std::function<bool (TabWindow*, TabWindow::Tab*, bool)>& getTabSwitchCallback () const ;
194 
198  virtual void exportIntrospection (nkExport::Node* rootNode) override ;
202  void importClassFromTree (nkExport::Node* rootNode) override ;
203  } ;
204 }
nkWinUi::TabWindow::getTabByLabel
Tab * getTabByLabel(const nkMemory::StringView &label) const
nkWinUi::TabWindow::setLayout
virtual Layout * setLayout(LAYOUT_TYPE layoutType) override
nkWinUi::LAYOUT_TYPE
LAYOUT_TYPE
Defines the type of layout available.
Definition: LayoutType.h:12
nkWinUi::TabWindow::Tab::setLabel
virtual void setLabel(const nkMemory::StringView &label, bool autoUpdate=true)
nkWinUi::TabWindow::Tab::Tab
Tab()
nkWinUi::TabWindow::Tab::setAssociatedWin
void setAssociatedWin(Window *win)
nkWinUi::Layout
Represents a layout to organize children of a component.
Definition: Layout.h:12
nkWinUi::TabWindow::getActiveTab
Tab * getActiveTab() const
nkWinUi::TabWindow::Tab::getLabel
nkMemory::StringView getLabel() const
nkWinUi::TabWindow::~TabWindow
~TabWindow()
nkWinUi::TabWindow::Tab::getAssociatedWin
Window * getAssociatedWin() const
nkWinUi::Component
Base class for any graphical component.
Definition: Component.h:12
nkWinUi::TabWindow::setTabSwitchCallback
void setTabSwitchCallback(std::function< bool(TabWindow *, TabWindow::Tab *, bool)> value)
nkWinUi::TabWindow::TabWindow
TabWindow(MainSystem *parentSystem)
nkWinUi::TabWindow::adaptToDisplayArea
virtual void adaptToDisplayArea(Window *toAdapt) const =0
nkWinUi::TabWindow::Tab::setParentWindow
void setParentWindow(TabWindow *parent)
nkWinUi::TabWindow::Tab::setId
void setId(int id)
nkWinUi::TabWindow::reorderTab
virtual void reorderTab(Tab *tab, unsigned int newIndex)
nkWinUi::TabWindow::changeTabLabel
virtual void changeTabLabel(const nkMemory::StringView &oldLabel, const nkMemory::StringView &newLabel)
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkWinUi::MainSystem
The main system of the component.
Definition: MainSystem.h:18
nkWinUi::TabWindow::getTabByMouseRel
virtual Tab * getTabByMouseRel(const nkMaths::Point &mouseRel) const =0
nkMaths::Point
Represents a 2D Point.
Definition: Point.h:12
nkMemory::StringView
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
nkWinUi::TabWindow::importClassFromTree
void importClassFromTree(nkExport::Node *rootNode) override
nkWinUi::TabWindow::Tab
Holds information about a tab in the window.
Definition: TabWindow.h:19
nkWinUi::Window
A graphical window, made for general purpose.
Definition: Window.h:14
nkWinUi::TabWindow::eraseTab
virtual void eraseTab(const nkMemory::StringView &label)
nkWinUi::TabWindow::exportIntrospection
virtual void exportIntrospection(nkExport::Node *rootNode) override
nkWinUi::TabWindow::setActiveTab
virtual void setActiveTab(Tab *toActivate)
nkWinUi::TabWindow::getTabCount
unsigned int getTabCount() const
nkWinUi::TabWindow::getTabSwitchCallback
const std::function< bool(TabWindow *, TabWindow::Tab *, bool)> & getTabSwitchCallback() const
nkWinUi::TabWindow::getTabById
Tab * getTabById(int id) const
nkWinUi::TabWindow::addTab
virtual Tab * addTab(const nkMemory::StringView &label)
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Clipboard.h:7
nkWinUi::TabWindow::Tab::getParentWindow
TabWindow * getParentWindow() const
nkWinUi::TabWindow
A graphical tab window.
Definition: TabWindow.h:12
nkWinUi::TabWindow::Tab::getId
int getId() const
nkWinUi::TabWindow::getTabByIndex
Tab * getTabByIndex(unsigned int index) const
nkWinUi::TabWindow::Tab::~Tab
virtual ~Tab()
nkWinUi::TabWindow::getTabIndex
int getTabIndex(Tab *tab) const